1
로컬 스코프와 자동 객체 생명주기
AI037Lesson 9
00:00

C++ 프로그램의 거대한 무대에서 객체는 배우와 같습니다. 일부는 전체 공연 동안 무대에 머무르지만 대부분— 로컬 객체들—은 단 한 장면 동안만 나타나고 영원히 사라지는 일시적인 존재입니다. 이 수업은 객체의 가시성 (스코프)과 그 존재 생명주기 사이의 근본적인 차이를 설정합니다.

1. 구문적 스코프와 실행 생명주기

이름의 스코프 는 컴파일 타임 속성입니다: 이름이 사용 가능한 프로그램 텍스트의 범위를 의미합니다. 반대로, 생명주기 는 런타임 속성입니다: 객체가 물리적 메모리 주소를 점유하는 기간을 의미합니다.

소스 코드 (스코프){int i = 42;cout << i;}메모리 스택 (생명주기)i: 42다른 프레임들인스턴스화블록 종료 / 팝

2. 자동 객체

블록이 실행되는 동안만 존재하는 객체들은 자동 객체입니다. 제어 흐름이 정의 부분을 지나갈 때 생성되며(int n = 0;)에 도달했을 때 파괴됩니다.}매개변수는 실제로 인자로 초기화된 로컬 변수와 같습니다.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>